Inside Macintosh: QuickTime Components

Previous | Chapter Top | Chapter Contents | Next

Data Type

The GetMovieCompleteParams data type defines the layout of the complete movie parameter structure used by the MediaInitialize function (described on MediaInitialize ):

typedef struct {
    short               version;                /* version; always 0 */
    Movie               theMovie;               /* movie identifier */
    Track               theTrack;               /* track identifier */
    Media               theMedia;               /* media identifier */
    TimeScale           movieScale;             /* movie's time scale */
    TimeScale           mediaScale;             /* media's time scale */
    TimeValue           movieDuration;          /* movie's duration */
    TimeValue           trackDuration;          /* track's duration */
    TimeValue           mediaDuration;          /* media's duration */
    Fixed               effectiveRate;          /* media's effective rate */
    TimeBase            timeBase;               /* media's time base */
    short               volume;                 /* media's volume */
    Fixed               width;                  /* width of display area */
    Fixed               height;                 /* height of display area */
    MatrixRecord        trackMovieMatrix;       /* transformation matrix */
    CGrafPtr            moviePort;              /* movie's graphics port */
    GDHandle            movieGD;                /* movie's graphics device */
    PixMapHandle        trackMatte;             /* track's matte */
} GetMovieCompleteParams;
version
Specifies the version of this structure. This field is always set to 0.
theMovie
Identifies the movie that contains the current media's track. This movie identifier is supplied by the Movie Toolbox. Your component may use this identifier to obtain information about the movie that is using your media.
theTrack
Identifies the track that contains the current media. This track identifier is supplied by the Movie Toolbox. Your component may use this identifier to obtain information about the track that contains your media. For example, you might call the Movie Toolbox's GetTrackNextInterestingTime function in order to examine the track's edit list.
theMedia
Identifies the current media. This media identifier is supplied by the Movie Toolbox. Your derived media handler can use this identifier to read samples or sample descriptions from the current media, using the Movie Toolbox's GetMediaSample and GetMediaSampleDescription functions (see Inside Macintosh: QuickTime for information about the Movie Toolbox).
movieScale
Specifies the time scale of the movie that contains the current media's track. If the Movie Toolbox changes the movie's time scale, the toolbox calls your derived media handler's MediaSetMovieTimeScale function, which is described on MediaSetMovieTimeScale .
mediaScale
Specifies the time scale of the current media. If the Movie Toolbox changes your media's time scale, the toolbox calls your derived media handler's MediaSetMediaTimeScale function, which is described on MediaSetMovieTimeScale .
movieDuration
Contains the movie's duration. This value is expressed in the movie's time scale.
trackDuration
Contains the track's duration. This value is expressed in the movie's time scale.
mediaDuration
Contains the media's duration. This value is expressed in the media's time scale.
effectiveRate
Contains the media's effective rate. This rate ties the media's time scale to the passage of absolute time, and does not necessarily correspond to the movie's rate. This value takes into account any master time bases that may be serving the media's time base. The value of this field indicates the number of time units (in the media's time scale) that pass each second.
This rate is represented as a 32-bit, fixed-point number. The high-order 16 bits contain the integer portion, and the low-order 16 bits contain the fractional portion. The rate is negative when time is moving backward for the media.
Whenever the Movie Toolbox changes your media's effective rate, it calls your derived media handler's MediaSetRate function, which is discussed on MediaSetRate .
timeBase
Identifies the media's time base.
volume
Contains the media's current volume setting. This value is represented as a 16-bit, fixed-point number. The high-order 8 bits contain the integer portion; the low-order 8 bits contain the fractional part. Volume values range from -1.0 to 1.0. Negative values play no sound but preserve the absolute value of the volume setting.
If the Movie Toolbox changes your media's volume, it calls your derived media handler's MediaGSetVolume function, which is discussed on MediaGSetVolume .
width
Indicates the width, in pixels, of the track rectangle. This field, along with the height field, specifies a rectangle that surrounds the image that is displayed when the current media is played. This value corresponds to the x coordinate of the lower-right corner of the rectangle and is expressed as a fixed-point number.
If the Movie Toolbox modifies this rectangle, the toolbox calls your derived media handler's MediaSetDimensions function, which is discussed on MediaSetDimensions .
Note that your media need not present only a rectangular image. The Movie Toolbox can use a clipping region to cause your media's image to be displayed in a region of arbitrary shape, and it can use a matte to control the image's transparency. The toolbox calls your derived media handler's MediaSetClip function whenever it changes your media's clipping region (see MediaSetClip for more information about this function). The trackMatte field in this structure specifies a matte region.
height
Indicates the height, in pixels, of the track rectangle. This value corresponds to the y coordinate of the lower-right corner of the rectangle and is expressed as a fixed-point number.
trackMovieMatrix
Specifies the matrix that transforms your media's pixels into the movie's coordinate system. The Movie Toolbox obtains this matrix by concatenating the track matrix and the movie matrix. You should use this matrix whenever you are displaying graphical data from your media.
Whenever the Movie Toolbox modifies this matrix, it calls your derived media handler's MediaSetMatrix function, which is discussed on MediaSetMatrix .
moviePort
Indicates the movie's graphics port. Whenever the Movie Toolbox changes the movie's graphics world, it calls your derived media handler's MediaSetGWorld function, which is discussed on MediaSetGWorld .
movieGD
Specifies the movie's graphics device. Whenever the Movie Toolbox changes the movie's graphics world, it calls your derived media handler's MediaSetGWorld function, which is discussed on MediaSetGWorld .
trackMatte
Identifies the matte region assigned to the track that uses your media. This field contains a handle to a pixel map that contains a blend matte. Your component is not responsible for disposing of this matte. If there is no matte, this field is set to nil .

© 1997 Apple Computer, Inc.

Previous | Chapter Top | Chapter Contents | Next